import ChannelBase from "../base/ChannelBase";

export default class AppleChannel extends ChannelBase {

    /**
     * 初始化渠道
     */
    protected InitChannel(){

    }

    //#region 广告相关
    /**
     * 创建插屏广告
     */
    public CreatePage(){

    }
    /**
     * 展示插屏广告
     */
    public ShowPage(on_successed: Function, on_failed: Function){

    }

    /**
     * 创建视频广告
     */
    public CreateVideo(){

    }
    /**
     * 展示视频广告
     */
    public ShowVideo(on_successed: Function, on_failed: Function){}

    /**
     * 展示banner广告
     */
    public ShowBanner(on_successed: Function, on_failed: Function ){}
    /**
     * 隐藏banner广告
     */
    public HideBanner(){}

    /**
     * 创建盒子广告
     */
    public CreateBox(){}
    /**
     * 显示盒子广告
     */
    public ShowBox(){}
    /**
     * 隐藏盒子广告
     */
    public HideBox(){}

    /**
     * 创建积木广告
     */
    public CreateJuggle(){}
    /**
     * 显示积木广告
     */
    public ShowJuggle(){}
    /**
     * 隐藏积木广告
     */
    public HideJuggle(){}

    /**
     * 创建原生广告
     */
    public CreateNative(){}
    /**
    * 展示原生广告
    */
    public ShowNative(on_successed: Function, on_failed: Function){}
    /**
    * 隐藏原生广告
    */
    public HideNative(){}
    //#endregion 广告相关

    //#region 分享/录屏相关 
    /**
     * 分享游戏
     */
    public ShareGame(){}

    /**
     * 开始录屏
     */
    public StartRecord(){}
    /**
     * 停止录屏
     */
    public StopRecord(on_stop:Function){}
    /**
     * 分享录屏
     */
    public ShareRecord(on_successed:Function, on_failed:Function){}
    //#endregion 分享/录屏相关
    /*
     * 获取设备信息
     */
    public GetSystemInfo() {return undefined;}
    /*
     * 短震动
     */
    public VibrateShort(){}
    /*
     * 长震动
     */
    public VibrateLong(){}

    /**
     * 打开另一个小程序
     * @param target 目标小程序appid
     * @param path 打开的页面路径
     * @param extraData 需要传递给目标小程序的数据
     * @param ON_SUCCESS 成功回调,返回参数res
     * @param ON_FAILED 失败回调,返回参数res
     * @param is_developer envVersion 的合法值是否为 develop(开发版)
     */
    public NavigateToMiniProgram(target: string, path: string, extraData: object, ON_SUCCESS: Function, ON_FAILED: Function, is_developer = false) {

    }

    //#region 生命周期
    public OnShow(callback: Function) {

    }
    public OnHide(callback: Function) {

    }
    public OffShow(callback: Function) {

    }
    public OffHide(callback: Function) {

    }
    public GetLaunchOptionsSync(): any {
        return undefined;
    }
    public GetEnterOptionsSync(): any {
        return undefined;
    }
    public ExitMiniProgram(on_successed: Function, on_failed: Function, on_complete: Function) {

    }
    //#endregion 生命周期
}
